# -*- coding: utf-8 -*-
from scipy import ndimage
from skimage import data,util
from matplotlib import pyplot as plt
#img为原始图像
img=data.astronaut()[:,:,0]
#对图像加入椒盐噪声
noise_img=util.random_noise(img,mode='s&p')
#中值滤波
n=3
new_img=ndimage.median_filter(noise_img,(n,n))#filter是滤波器，函数末尾带filter可以试试效果
new_image1=ndimage.maximum_filter(noise_img,(n,n))#最大值滤波器
new_image2=ndimage.gaussian_filter(noise_img,(n,n))#高斯滤波器
new_image3=ndimage.minimum_filter(noise_img,(n,n))#最小值滤波器
#显示图像
plt.figrue()
plt.imshow(img,cmap='gray')#显示原始图像

plt.figrue()
plt.imshow(noise_img,cmap='gray')#显示加噪结果

plt.figrue()
plt.imshow(new_img,cmap='gray')#显示中值滤波器结果

plt.figrue()
plt.imshow(new_image1,cmap='gray')#显示最大值滤波器结果

plt.figrue()
plt.imshow(new_image2,cmap='gray')#显示高斯滤波器结果

plt.figrue()
plt.imshow(new_image3,cmap='gray')#显示最小值滤波器结果